1. The Field of the Invention
The present invention relates to performing computer vision processing on video images generated by a camera on a visual display, and more particularly to executing a video setup protocol to determine whether the camera and the surrounding environment satisfy predetermined criteria of an intended application.
2. The Relevant Art
More and more commonly personal computers are becoming equipped with video cameras for generating video images for input into the computer. With these video cameras, users are able to generate video images of themselves and/or their surroundings and view such video images on visual display devices.
Because of the greater availability of personal computers with video cameras, various computer applications involving video images are being created directed towards home users. One type of application uses personal computer video cameras to create an interactive display between images generated by the video camera and images generated by the personal computer. This type of application includes entertainment applications where an image of the subject is superimposed onto a computer generated background environment so that it appears that the subject is actually in the background environment. The background environment images can be of any type from the mundane and everyday such as a room to the fantastic such as the moon or another planet.
One method by which these applications may achieve a realistic integration of the subject""s image with the background environment is by using a special effects technique commonly associated with the motion picture and television industries known as blue screen imaging. In traditional blue screen imaging, an image of a subject is taken in front of an evenly lit, bright, fixed-color stationary background (typically blue, but which may be green or even red). A compositing process is then used to replace all the blue in the picture with another image, known as the background plate.
However, transferring this blue screen imaging technique for use in computer applications for personal computer users (such as at-home personal computer users) creates several challenges that must be overcome in order to adequately work in a home environment. For example, the locations of the actors (or subjects) in traditional blue screen imaging shoots have pre-measured markers on the stage to indicate where the actors are to stand during the shoot so that the actors are the proper distance from the camera for the shot. With these markers, actors know exactly where to stand each and every take so that they are always properly positioned.
In contrast, finding a relatively quick and easy way to properly position a subject with respect to the video camera is a challenge for designers of at-home applications. In the home environment, there are usually no markers to indicate to a subject where to stand in relation to the video camera for the proper function of the at-home video application. Making such markers in a home environment can take a lot of time and also may not be suitable for the home environment.
Also, traditional blue screen imaging is typically conducted in a controlled environment such as a sound stage or set in order to create a realistic composite image. In such a controlled environment, the amount of lighting is strictly controlled as well as the location of the lighting with respect to the background. Additionally, these sound stages and sets do not have any extra or unnecessary objects in the background that would interfere with the creation of the final composite image.
In contrast, a home environment is normally not as controlled of an environment as a sound stage or set. Lighting in the home environment is uneven typically with many dark areas and bright areas in each room. Windows and skylights in the home environment can create very bright spots in an otherwise rather dark room. Additionally, light sources in the home environment can be located anywhere in a room: next to walls, in corners, and on ceilings so that light is not directed in any one direction in the room. With such a variance in lighting conditions, applications for use in the home environment attempting to use a compositing technique must have a way to determine whether the lighting conditions in the home environment are adequate to meet the needs of the application. Additionally, such applications also need to be able to indicate lighting problems to a user so that the user can attempt to fix or adjust the lighting in the room to meet the requirements of the application.
The typical at-home environment is not monochromatic like the background of a blue screen imaging sound stage or set, and most home environments are full of objects such as furniture that need to be left out of the composited image. Because of these conditions, designers of such at-home interactive applications need to have a means for separating the subject from the background environment so that the background environment is left out of the composited image. One way to accomplish this determination is to use the presence and absence of motion in order to distinguish the home environment from the subject who is typically moving. However, some of the unwanted objects in the home environment are moving objects such as, for example, window drapes blowing in a breeze, leaves blowing in the wind on a tree visible through a window, and even ceiling fans. The movement of these objects may confuse the application into thinking that these objects are part of the subject and thereby interfere with the application""s determination of what is and is not background.
Additionally, there are a number of different personal computer video cameras of varying quality and with a wide range of features and abilities available to at-home users. As a result, designers of at-home video applications must be able to determine whether the video camera being used by a user is suitable for proper running of the application. Additionally, such designers must also be able to set the various personal computer video cameras to their optimal settings for optimal running of the application.
A system, method and article of manufacture are provided for executing a video setup protocol. Video images generated by a video camera are obtained upon activation of a video camera. A series of setup tests selected from a library of setup tests are conducted on the video images to determine if the video camera and the conditions of surrounding environment are suitable for a subsequent video application using the video camera.
In one embodiment of the present invention, activation of the video camera may include a determination of whether the video camera is functioning and may also include adjustment of the controls of the video camera.
In another embodiment of the present invention, a determination of the relative position of a subject to the video camera may be included. In one such embodiment, this determination may be made by the displaying of a body part frame on the video image so that the angle of the video camera or the position of the subject may be adjusted so that a particular body part of the subject is positioned in the body part frame. A determination of whether the body part is positioned in the body part frame may also be conducted.
In yet another embodiment the series of setup tests may be conducted in a order set forth in a test script. Also, the library of setup tests may include setup tests defined as critical setup tests and those defined as non-critical setup tests. In such an embodiment, the video setup protocol may be aborted upon failure of a critical test while a set of options may be offered upon the failure of a non-critical setup test.
In a further embodiment of the present invention, the frame rate setup test may be included in the library of setup tests for determining whether the rate at which the video camera generates video images is satisfactory for the proper functioning of the subsequent video application. This may be accomplished by first obtaining a predetermined number of video images generated by the video camera and the elapsed time it took to obtain the generated video images. The number of video images obtained in the elapsed time is then compared with a predetermined threshold value to see if the video camera generates video images above a minimum frame rate defined by the threshold value.
In yet a further embodiment of the present invention, a lighting setup test may be included in the library of setup tests for determining whether the environmental lighting satisfies predetermined lighting criteria for optimal functioning of the subsequent video application.
In even another embodiment of the present invention, a motion setup test may be included in the library of setup tests for determining whether excessively moving objects are in the field of view of the video camera and thereby present in the video images generated by the video camera. The library of setup tests may also include a compositing test to determine whether a composite image derived from an image generated by a camera is satisfactory to a user.